<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <input type="text">
  <button id="btn1">提交</button>

  <div>0</div>
  <button id="btn2">开启定时器</button>

  <script>
  // js的数据类型
  // 1. 基础数据类型
  // string/number/boolean/undefined/null
  // es6新增的symbol
  // es10新增的bigInt
  // 存在栈


  // 2. 复杂数据类型
  // object(对象/数组/函数/Date/math/RegExp/Map/Set等)
  // 存在堆



  /*
    问题1：哪些值在转成布尔值以后是false？(优化代码)
    0  ""  false undefined  null  NaN
  */
  // document.querySelector("#btn1").onclick = () => {
  //   const value = document.querySelector("input").value;
  //   if (value) {
  //     console.log(value);
  //   }
  // }

  // // 定义一个数字变量，显示在div里面
  // let count = 0;
  // // 定时器的变量
  // let timer;
  // document.querySelector("#btn2").onclick = () => {
  //   if (!timer) {
  //     // 定时器，每秒钟加一
  //     timer = setInterval(() => {
  //       count++;
  //       document.querySelector("div").innerHTML = count;
  //     }, 1000)
  //   }
  // }





  /*
    问题2：undefined和null的区别(面试)
    undefined是未定义, null是空对象
  */ 
  // 定义了变量，没有给值
  // 对象里面没有的属性
  // 超出数组长度的项
  // const obj = {
  //   name: "张三",
  //   age: 20,
  // }
  // console.log(obj.sex);
  // const arr = [1,2,3];
  // console.log(arr[10]);


  // let nl = null;
  // console.log(null);
  
  
  


  </script>
</body>
</html>